#include<stdio.h>
#include<stdlib.h>
#define N 10
typedef struct
{
	int a[N];
	int last;
}slist;
slist *init()
{
	slist *L;
	L=(slist*)malloc(sizeof(slist));
	L->last=-1;
	return L;
}
void inp(slist *L1,int n)
{
	int i;
	printf("请输入元素:\n");
	for(i=0;i<=n;i++)
	{
		scanf("%d",&L1->a[i]);
		L1->last++;
	}
}




int insert(slist *L1,int i,int x)
{
	int j;
	if(L1->last==N-1)
	{
		printf("表满\n");
		return -1;
	}
	if(i<1||i>L1->last+2)
	{
		printf("插入位置不合法\n");
		return -1;
	}
	for(j=L1->last;j>i-1;j--)
	{
		L1->a[j+1]=L1->a[j];
	}
	L1->a[i-1]=x;
	L1->last++;
}
void outp(slist *L1)
{
	int j;
	printf("当前线性表中的元素为:\n");
	for(j=0;j<=L1->last;j++)
	printf("%3d",L1->a[j]);
}




void del(slist *L1,int i)
{
	int j;
	for(j=i;j<=L1->last;j++)
	{
		L1->a[j-1]=L1->a[j];
		L1->last--;
	}
}
main()
{
	slist *L;int position=0,date=0,position1=0;;
	L=init();
	inp(L,5);
	outp(L);
	printf("\n请输入要插入的位置:\n");
	scanf("%d",&position);
	printf("请输入要插入的位置:\n");
	scanf("%d",&date);
	insert(L,position,date);
	outp(L);
	printf("\n请输入要删除的位置：\n");
	scanf("%d",&position1);
	del(L,position1);
	outp(L);
}